package org.feng.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.feng.dto.request.AddUserRequestDto;
import org.feng.dto.request.UpdateUserRequestDto;
import org.feng.entity.User;
import org.feng.vo.UserVO;

import java.io.IOException;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author fengjinsong
 * @since 2023-08-24
 */
public interface IUserService extends IService<User> {
    List<UserVO> listUser();

    List<UserVO> listUserWithPermission();

    List<UserVO> listUserWithRolePermission();

    UserVO selectOneUserByName(String username);

    Integer addUser(AddUserRequestDto addUserRequestDto);

    UserVO updateUser(UpdateUserRequestDto updateUserRequestDto);

    /**
     * 导出用户数据
     */
    void exportUser() throws IOException;


    List<Integer> listUserId(Integer userId);
}
